
#ifndef __TYPEDEFS_H_
#define __TYPEDEFS_H_

#include <CGAL/Simple_cartesian.h>

typedef float                                   Number;
typedef CGAL::Simple_cartesian<Number>          Kernel;
typedef CGAL::Point_3<Kernel>                   Point3;
typedef CGAL::Vector_3<Kernel>                  Vector3;
typedef CGAL::Plane_3<Kernel>                   Plane3;
typedef CGAL::Segment_3<Kernel>                 Segment3;
typedef CGAL::Triangle_3<Kernel>                Triangle3;

const Number NINFINITY = std::numeric_limits<Number>::infinity();

enum ProjectionMode{ORTHOGRAPHIC, PERSPECTIVE};
enum InteractionMode {VIEWING_MODE, SELECTION_MODE, PAINTING_MODE};
enum MeshRenderMode{
   POINTS=0x01, WIREFRAME=0x02, HIDDENLINES=0x04, FLATLINES=0x08, 
   FLAT=0x10, SMOOTH=0x20, TRANSPARENCY=0x40};
enum ViewItems {
   MODELINI=0x01, MODELDEF=0x02, SKELETONINI=0x04, SKELETONDEF=0x08,
   KEYPOINTS=0x10, CONSTRAINTS=0x20, FLOOR=0x40, INFO=0x80};
enum RigSkinMask{
   RIGGING=0x01, SKINNING=0x02, RIGGINGEDGES=0x04, NORIGSKIN=0x08};
   
#endif

